The present invention relates generally to receivers in DS-CDMA radios, and more particularly to the need for providing a pulse-matched filter and channel selectivity to eliminate interchip and other interference.
Throughout the world, one important step in cellular systems is to change from analog to digital transmission. Equally important is the choice of an effective digital transmission scheme for implementing the next generation of cellular technology. Furthermore, it is widely believed that the first generation of Personal Communication Networks (PCNs), employing low cost, pocket-size, cordless telephones that can be carried comfortably and used to make or receive calls in the home, office, street, car, etc., will be provided by cellular carriers using the next generation digital cellular system infrastructure and the cellular frequencies. The key feature demanded in these new systems is increased traffic capacity.
Currently, channel access is achieved using Frequency Division Multiple Access (FDMA) and Time Division Multiple Access (TDMA) methods. In FDMA, a communication channel is a single radio frequency band into which a signal""s transmission power is concentrated. Interference with adjacent channels is limited by the use of band pass filters which only pass signal energy within the specified frequency band. Thus, with each channel being assigned a different frequency, system capacity is limited by the available frequencies as well as by limitations imposed by channel reuse. In TDMA systems, a channel consists of a time slot in a periodic train of time intervals over the same frequency. Each period of time slots is called a frame. A given signal""s energy is confined to one of these time slots. Adjacent channel interference is limited by the use of a time gate or other synchronization element that only passes signal energy received at the proper time. Thus, the problem of interference from different relative signal strength levels is reduced.
Capacity in a TDMA system is increased by compressing the transmission signal into a shorter time slot. As a result, the information must be transmitted at a correspondingly faster burst rate which increases the amount of occupied spectrum proportionally.
With FDMA or TDMA systems or hybrid FDMA/TDMA systems, the goal is to insure that two potentially interfering signals do not occupy the same frequency at the same time. In contrast, Code Division Multiple Access (CDMA) allows signals to overlap in both time and frequency. Thus, all CDMA signals share the same frequency spectrum. In the frequency or the time domain, the multiple access signals appear to be on top of each other.
In principle, in a CDMA system the informational data stream to be transmitted is impressed upon a much higher rate data stream known as a signature sequence, or a spreading sequence. Typically, the signature sequence data are binary, providing a bit stream. One way to generate this signature sequence is with a pseudo-noise (PN) process that appears random, but can be replicated by an authorized receiver. The informational data stream and the high bit rate signature sequence stream are combined by multiplying the two bit streams together, assuming the binary values of the two bit streams are represented by +1 or xe2x88x921. This combination of the higher bit rate signal with the lower bit rate data stream is called coding or spreading the informational data stream signal. Each informational data stream or channel is allocated a unique spreading code.
A plurality of coded information signals modulate a radio frequency carrier, for example by quadrature phase shift keying (QPSK), and are jointly received as a composite signal at a receiver. Each of the coded signals overlaps all of the other coded signals, as well as noise-related signals, in both frequency and time. If the receiver is authorized then the composite signal is correlated with one of the unique codes, and the corresponding information signal can be isolated and decoded.
One CDMA technique, called xe2x80x9ctraditional CDMA with direct spreadingxe2x80x9d, uses a signature sequence to represent one bit of information. Receiving the transmitted sequence or its complement (the transmitted binary sequence values) indicates whether the information bit is a xe2x80x9c0xe2x80x9d or xe2x80x9c1xe2x80x9d. The signature sequence usually comprises N bits, and each bit is called a xe2x80x9cchipxe2x80x9d. The entire N-chip sequence, or its complement, is referred to as a transmitted symbol. The receiver correlates the received signal with the known signature sequence of its own signature sequence generator to produce a normalized value ranging from xe2x88x921 to +1. When a large positive correlation results, a xe2x80x9c0xe2x80x9d is detected; when a large negative correlation results, a xe2x80x9c1xe2x80x9d is detected.
Another CDMA technique, called xe2x80x9cenhanced CDMA with direct spreadingxe2x80x9d allows each transmitted sequence to represent more than one bit of information. A set of code words, typically orthogonal code words or bi-orthogonal code words, is used to code a group of information bits into a much longer code sequence or code symbol. A signature sequence or scramble mask is modulo-2 added to the binary code sequence before transmission. At the receiver, the known scramble mask is used to descramble the received signal, which is then correlated to all possible code words. The code word with the largest correlation value indicates which code word was most likely sent, indicating which information bits were most likely sent. One common orthogonal code is the Walsh-Hadamard (WH) code.
In both traditional and enhanced CDMA, the xe2x80x9cinformation bitsxe2x80x9d referred to above can also be coded bits, where the code used is a block or convolutional code. One or more information bits can form a data symbol. Also, the signature sequence or scramble mask can be much longer than a single code sequence, in which case a subsequence of the signature sequence or scramble mask is added to the code sequence.
In many radio communication systems, the received signal includes two components, an I (in-phase) component and a Q (quadrature) component. This results because the transmitted signal has two components, and/or the intervening channel or lack of coherent carrier reference causes the transmitted signal to be divided into I and Q components. In a typical receiver using digital signal processing, the received I and Q component signals are sampled every Tc/N seconds, where Tc is the duration of a chip, and stored.
In mobile communication systems, signals transmitted between base and mobile stations typically suffer from echo distortion or time dispersion, caused by, for example, signal reflections from large buildings or nearby mountain ranges. Multipath dispersion occurs when a signal proceeds to the receiver along not one but many paths so that the receiver hears many echoes having different and randomly varying delays and amplitudes. Thus, when multipath time dispersion is present in a CDMA system, the receiver receives a composite signal of multiple versions of the transmitted symbol that have propagated along different paths (referred to as xe2x80x9craysxe2x80x9d). Each distinguishable xe2x80x9crayxe2x80x9d has a certain relative time of arrival k*Tc seconds and spans N of the I and Q chip samples, since each signal image is an N-chip sequence. As a result of multipath time dispersion, the correlator outputs several smaller spikes rather than one large spike. To optimally detect the transmitted symbols (bits), the spikes received must be combined. Typically, this is done by a RAKE receiver, which is so named because it xe2x80x9crakesxe2x80x9d all the multipath contributions together.
A RAKE receiver uses a form of diversity combining to collect the signal energy from the various received signal paths, i.e., the various signal rays. Diversity provides redundant communication channels so that when some channels fade, communication is still possible over non-fading channels. A CDMA RAKE receiver combats fading by detecting the echo signals individually using a correlation method and adding them algebraically (with the same sign). Further, to avoid intersymbol interference, appropriate time delays are inserted between the respective detected echoes so that they fall into step again.
In one form of RAKE receiver, correlation values of the spreading sequence with the received signals at different time delays are passed through a delay line that is tapped at expected time delays (dt), the expected time between receiving echoes. The outputs at the RAKE taps are then combined with appropriate weights. Such a receiver searches for the earliest ray by placing a tap at T0, and for a ray delayed by dt by placing a tap at T0+dt, and so forth. The RAKE tap outputs having significant energy are appropriately weighted and combined to maximize the received signal to noise and interference ratio. Thus, the total time delay of the delay line determines the amount of arrival time delay that can be searched.
A diagram of a conventional RAKE receiver using a post-correlator, coherent combining of different rays is shown in FIG. 1. A received radio signal is demodulated by, for example, mixing it with cosine and sine waveforms and filtering the signal in an RF receiver 110, yielding I and Q chip samples. These chip samples are buffered by a buffer 120 which is composed of two buffers, one for the I (in-phase) samples and one for the Q (quadrature) samples. The bottom of each buffer contains the most recently received chip samples in time.
A multiplexer 130 receives the buffered chip samples and sends complex correlators a range of I chip samples and the same range of Q chip samples. The range selected includes N samples corresponding to the N-chip sequence arriving at a certain time. For example, if the I and Q buffers contain 159 chip samples (0-158), and N is 128, then the multiplexer would send chip samples i through (i+127) from the I buffer, and chip samples i through (i+127) from the Q buffer to a correlator, where i is the discrete time index of the signal rays from when the buffers were first filled.
A complex correlation value is formed by each complex correlator 140 which correlate two sets of signal samples, I and Q, to the known spreading sequence (code). Different complex correlators correspond to different received sample ranges, and hence different signal rays. The multiplexer can provide the received samples either serially or in parallel.
In general, a complex correlator correlates a complex input stream (I+jQ samples) to a complex known sequence, producing a complex correlation value. If the signature, or spreading, sequence is not complex, each complex correlator can be implemented as two scalar correlators in parallel, which is defined as a xe2x80x9chalf-complexxe2x80x9d correlator. If the signature sequence is complex, the complex correlators correlate a complex input to a complex sequence, giving rise to xe2x80x9cfull-complexxe2x80x9d correlators.
Following correlation, the complex correlation values are transmitted to the multiplier 150 where they are multiplied by a complex weight referred to as a complex RAKE tap. Each RAKE tap is a complex number consisting of a real part and an imaginary part. The complex correlator correlates a set of data to a known signature sequence. Typically, only the real part of the product of the complex correlation values and the RAKE tap values are sent to the accumulator 160. The accumulator sums the weighted correlation results for all the signal rays processed and sends the accumulated result to a threshold device 170. The threshold device detects a binary xe2x80x9c0xe2x80x9d if the input is greater than a threshold, or a binary xe2x80x9c1 xe2x80x9d if the input is less than the threshold.
In mathematical terms, suppose X(n)=I(n)+jQ(n) are the chip samples received by the receiver, where I(n) are the I component samples, Q(n) are the Q component samples, and n is the chip sample index corresponding to a respective discrete time. In FIG. 1, I(n) are stored in one buffer and Q(n) are stored in the other. The multiplexer selects a range of I samples and a range of Q samples corresponding to the same ray. If M(k,n)=MI(k,n)+jMQ(k,n) is the multiplexer output for ray k, giving N samples (n=0,Nxe2x88x921), then M(k,n)=X(n+k) and MI(k,n)=I(n+k) and MQ(k,n)=Q(n+k).
The complex correlator correlates the range of data samples from the multiplexer to a known code sequence. Consider data samples X(k), X(k+1), . . . , X(k+Nxe2x88x921), which are discrete time samples of the received data. If the receiver is trying to detect a code sequence C(0), C(1), . . . C(Nxe2x88x921), which consists of N values (usually xc2x11 values), the correlator correlates some set of N data values with the N code sequence values as follows:                               R          ⁡                      (            k            )                          =                                            X              ⁡                              (                k                )                                      ⁢                          C              ⁡                              (                0                )                                              +                                    X              ⁡                              (                                  k                  +                  1                                )                                      ⁢                          C              ⁡                              (                1                )                                              +          …          ⁢                      xe2x80x83                    +                                    X              ⁡                              (                                  k                  +                  N                  -                  1                                )                                      ⁢                          C              ⁡                              (                                  N                  -                  1                                )                                                                            =                              ∑                          n              =              0                                      N              -              1                                ⁢                                    X              ⁡                              (                                  n                  +                  k                                )                                      ⁢                          C              ⁡                              (                n                )                                                        
where the index k indicates where to start in the data sequence. This corresponds to a relative time of arrival of the signal. Different arrival times correspond to different signal rays. Thus, ray k corresponds to a range of data values needed: {X(k),X(k+1), . . . , X(k+Nxe2x88x921)}. If N is large, then rays k and k+1 correspond to ranges which substantially overlap.
The computation of R(k) can be performed by accessing the input data range in parallel or serially. FIG. 2 is representative of a parallel approach. A data buffer 50 stores consecutive time samples of the received signal, X(n). A multiplexer 52 selects a range of N data values, {X(k),X(k+1), . . . , X(k+Nxe2x88x921)}, which are sent to the correlator 55. A multiplier which corresponds to each input to the correlator, multiplies each input value with a corresponding coding sequence value. The products are summed together in an adder to form the correlation value R(k).
FIG. 3 is representative of accessing the input range serially to compute R(k). The input buffer 350 stores the received data samples. The buffer may be only one sample long, since only one sample at a time is correlated. If the buffer is more than one sample long, then a multiplexer 352 is needed to select a particular sample X(k+i), where i is determined by the control processor. The value selected is sent to the correlator 355. The correlator first computes the product of the input X(k+i) with one element of the code sequence, C(i), using the multiplier. This product is then added to an accumulator which stores past products. The accumulator is originally set to zero, then i is stepped from 0 to Nxe2x88x921, allowing the accumulation of N products. After N products have been accumulated, they are output from the correlator giving correlation value R(k). Whether performing the correlation in parallel or serially, each data value X(n) consists of b bits. The bits can be accessed and used all at once (parallel computation) or one at a time (bit serial approach).
Regardless of the correlation approach used, the correlator for ray k correlates the multiplexer output M(k,n) to the real code sequence C(n), producing a complex correlation value R(k)=RI(k)+jRQ(k) where:             R      ⁡              (        k        )              =                  ∑                  n          =          0                          N          -          1                    ⁢                        M          ⁡                      (                          k              ,              n                        )                          ⁢                  C          ⁡                      (            n            )                                and                    R        I            ⁡              (        k        )              =                  ∑                  n          =          0                          N          -          1                    ⁢                        I          ⁡                      (                          n              +              k                        )                          ⁢                  C          ⁡                      (            n            )                                                  R        Q            ⁡              (        k        )              =                  ∑                  n          =          0                          N          -          1                    ⁢                        Q          ⁡                      (                          n              +              k                        )                          ⁢                  C          ⁡                      (            n            )                              
The RAKE combiner uses RAKE taps W(k)=WI(k)+jWQ(k) to multiply the correlation values and accumulate the result into the decision statistic, Z where:   Z  =                    ∑                  k                                                    W                ⁡                                  (                  k                  )                                            ⁢              _              ⁢              0                        +                          j              ⁢                              xe2x80x83                            ⁢              0                                          ⁢              Re        ⁢                  {                                    W              ⁡                              (                k                )                                      ⁢                                          R                *                            ⁡                              (                k                )                                              }                      =                            ∑                      k                                                            W                  ⁡                                      (                    k                    )                                                  ⁢                _                ⁢                0                            +                              j                ⁢                                  xe2x80x83                                ⁢                0                                                    ⁢                                            W              I                        ⁡                          (              k              )                                ⁢                                    R              I                        ⁡                          (              k              )                                          +                                    W            Q                    ⁡                      (            k            )                          ⁢                              R            Q                    ⁡                      (            k            )                              
The quantity Z is then thresholded in the threshold device 7 to determine whether a xe2x80x9c0xe2x80x9d or xe2x80x9c1xe2x80x9d was sent.
FIG. 4 is another diagram illustrating part of a state of the art CDMA RAKE receiver. In direct sequence CDMA (DS-CDMA) there is a necessity for a pulse-matched filter, here a finite impulse filter (FIR) 420. This, together with a corresponding pulse-shaping filter in the transmitter, satisfies the Nyquist criterion, so that there is no interchip interference (xe2x80x9cICIxe2x80x9d).
There is also a problem in that the system must have the correct phase of the signal before decimation is performed. This can be taken care of either before or after the filtering. It is possible for the signal after filtering to be critically decimated down to the chip rate. However, this would require fractional sample delays to correct the phase of the signal to make the samples correspond to the maximum xe2x80x9ceye openingxe2x80x9d.
It is also possible to obtain the correct phase of the signal before filtering is performed by adjusting the phase at the higher rate. However, this would require an individual decimating filter for each RAKE tap and would only be economical if the number of RAKE taps is low.
In state of the art base stations the cost of the filter can be shared among many users. Here the solution to the above problem is to keep an oversampling ratio of e.g. 4 to 8 to make it possible to sample xe2x80x9csufficiently closexe2x80x9d to the maximum eye opening. The oversampling ratio of 4 to 8 is merely an example; other ratios are possible which are higher, lower or in between. It is also not a requirement that the ratio be an integer ratio. The decimation down to the chip rate is then done by the individual RAKE taps. Here, a lower sampling ratio can result in a higher loss of information from imprecise sampling.
In mobile stations, however, the filter is used by only one user who must bear the whole cost for the filter. Therefore the filter should ideally be made to consume as little power or space as possible in the mobile unit. The power consumed by the analog/digital (A/D) converter 410 should also be minimized.
In mobile receivers as shown in FIG. 4 it is possible for a root raised cosine filter, a filter which is ICI-free when convolved with itself, to be applied to the multibit output signal from an A/D converter. Either two A/D converters are used, one each for the I and Q parts of the signal, or a digital I/Q demodulator is used. These filters are applied to the signal at an oversample rate (OSR) of e.g. 4 times the chip rate to achieve good time resolution for the RAKE taps. An OSR different from 4 times the chip rate can be also used, with various trade-offs between implementation cost and detector loss.
The filtered signal is then multiplied with the PN sequence 430, which is individually delayed for each reflection in the multipath channel response. This signal is then integrated over the time period of one bit. The multiplication (440) with the PN sequence and the integration (450) over a bit interval is known as despreading, or correlating with the PN sequence.
The filters in these state of the art mobiles require something on the order of e.g. 16 time sidelobes to achieve good filtering. This, in addition to the need for oversampling, leads to an implementation with many multipliers. Unfortunately, multipliers consume substantial power and chip area in comparison with other units such as adders.
The present invention achieves the objectives of reducing power consumption and chip area, among other objectives, by moving the filter, which may be pulse-shaped or pulse-matched, from the input signal, as shown in FIG. 4, to the PN sequence, as shown in FIG. 5. Correlation is then performed with a pulse-shape filtered version of the PN sequence. This has the advantage of replacing the multibit pulse-matched filter on the input signal with a one-bit pulse-shaped filter on the PN sequence, which interpolates up to the required oversampling ratio.
Since the filter now has a one-bit input, the multipliers reduce to adders, and the number of adders can be reduced by storing multiple filter responses that correspond to short PN sequences. If 6 responses are stored which correspond to 4-chip sequences, the number of adders can be reduced by 4. The number of responses required is 16, but by time-reversing and/or inverting, the 6 stored responses can be used for all 16.
A result of this is that the number of adders does not increase in the present invention as the oversampling ratio increases, as compared to the state of the art, where the number of multipliers increases with an increase in the oversampling ratio. However, the speed at which the adders run does increase with the oversampling ratio, although it is also true that the speed of the multipliers in the current approaches also increase with the oversampling ratio.
Since the filtered version of a portion of the PN sequence (corresponding to a bit interval, for example) stretches out in time several filter sidelobes before and after the sequence, two correlators must overlap to be able to process the whole PN sequence. In the present invention they are designed to despread every other bit. One bit is the longest possible length to correlate over since a longer period results in information from two bits ending up in the same correlate. However, it is also possible to correlate over two half-bit intervals and add the two results together afterwards, or correlate over three one-third bit intervals etc. If the spreading factor is 64 the filter can have an impulse response 64 chips long without having to use a third correlator.
The present invention can also make use of sigma-delta modulated signals from the A/D converter. A sigma-delta signal in this invention does not have to be decimation filtered, so cheap sigma-delta A/Ds can be used with just enough passband for the signal, and without having to filter out the noise and then decimate. The resulting invention results in less power consumption than prior art receivers.